package com.warmheart.entity.platform;

import java.util.Date;

import com.warmheart.base.entity.BaseEntity;
import com.warmheart.builder.platform.PlatformAccountCoBuilder;
import com.warmheart.builder.platform.PlatformAccountRsBuilder;

/**
 * 
 * @ClassName: PlatformAccount
 * @Description: 账号实体类，对应表名称为tb_platform_account
 *               温馨提示：不要修改该实体类的任何字段
 * @author ZhangJianyang
 * @date 2025年06月16日 下午13:05:35
 *
 */
public class PlatformAccount extends BaseEntity<PlatformAccountCoBuilder, PlatformAccountRsBuilder> {

	private static final long serialVersionUID = 1L;
	
	/**
     * 
     * @Title: tableName
     * @Description: 表名称
     * @author ZhangJianyang
     * @return
     */
    @Override
    public String tableName() {
        return "tb_platform_account";
    }

    public PlatformAccountCoBuilder coBuilder() {
        return new PlatformAccountCoBuilder(this);
    }

    public PlatformAccountRsBuilder rsBuilder() {
        return new PlatformAccountRsBuilder(this);
    }

    /**
     * 所属平台ID
     */
    private Integer platformId;

    /**
     * 绑定的具体资源
     */
    private Integer resourceId;

    /**
     * 账号类型
     */
    private String accountType;

    /**
     * 用户名
     */
    private String username;

    /**
     * 加密后的凭据
     */
    private String encryptedCredential;

    /**
     * 加密向量
     */
    private String encryptionIv;

    /**
     * 账号描述
     */
    private String description;

    /**
     * 是否激活
     */
    private String state;

    /**
     * 过期时间
     */
    private Date expiresTime;

    /**
     * 
     * @Title: getPlatformId
     * @Description: 所属平台IDgetter方法
     * @author ZhangJianyang
     * @return
     */
    public Integer getPlatformId(){
        return platformId;
    }
    
    /**
     * 
     * @Title: setPlatformId
     * @Description: 所属平台IDsetter方法
     * @author ZhangJianyang
     * @param platformId
     */
    public void setPlatformId(Integer platformId){
        this.platformId = platformId;
    }

    /**
     * 
     * @Title: getResourceId
     * @Description: 绑定的具体资源getter方法
     * @author ZhangJianyang
     * @return
     */
    public Integer getResourceId(){
        return resourceId;
    }
    
    /**
     * 
     * @Title: setResourceId
     * @Description: 绑定的具体资源setter方法
     * @author ZhangJianyang
     * @param resourceId
     */
    public void setResourceId(Integer resourceId){
        this.resourceId = resourceId;
    }

    /**
     * 
     * @Title: getAccountType
     * @Description: 账号类型getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getAccountType(){
        return accountType;
    }
    
    /**
     * 
     * @Title: setAccountType
     * @Description: 账号类型setter方法
     * @author ZhangJianyang
     * @param accountType
     */
    public void setAccountType(String accountType){
        this.accountType = accountType;
    }

    /**
     * 
     * @Title: getUsername
     * @Description: 用户名getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getUsername(){
        return username;
    }
    
    /**
     * 
     * @Title: setUsername
     * @Description: 用户名setter方法
     * @author ZhangJianyang
     * @param username
     */
    public void setUsername(String username){
        this.username = username;
    }

    /**
     * 
     * @Title: getEncryptedCredential
     * @Description: 加密后的凭据getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getEncryptedCredential(){
        return encryptedCredential;
    }
    
    /**
     * 
     * @Title: setEncryptedCredential
     * @Description: 加密后的凭据setter方法
     * @author ZhangJianyang
     * @param encryptedCredential
     */
    public void setEncryptedCredential(String encryptedCredential){
        this.encryptedCredential = encryptedCredential;
    }

    /**
     * 
     * @Title: getEncryptionIv
     * @Description: 加密向量getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getEncryptionIv(){
        return encryptionIv;
    }
    
    /**
     * 
     * @Title: setEncryptionIv
     * @Description: 加密向量setter方法
     * @author ZhangJianyang
     * @param encryptionIv
     */
    public void setEncryptionIv(String encryptionIv){
        this.encryptionIv = encryptionIv;
    }

    /**
     * 
     * @Title: getDescription
     * @Description: 账号描述getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getDescription(){
        return description;
    }
    
    /**
     * 
     * @Title: setDescription
     * @Description: 账号描述setter方法
     * @author ZhangJianyang
     * @param description
     */
    public void setDescription(String description){
        this.description = description;
    }

    /**
     * 
     * @Title: getState
     * @Description: 是否激活getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getState(){
        return state;
    }
    
    /**
     * 
     * @Title: setState
     * @Description: 是否激活setter方法
     * @author ZhangJianyang
     * @param state
     */
    public void setState(String state){
        this.state = state;
    }

    /**
     * 
     * @Title: getExpiresTime
     * @Description: 过期时间getter方法
     * @author ZhangJianyang
     * @return
     */
    public Date getExpiresTime(){
        return expiresTime;
    }
    
    /**
     * 
     * @Title: setExpiresTime
     * @Description: 过期时间setter方法
     * @author ZhangJianyang
     * @param expiresTime
     */
    public void setExpiresTime(Date expiresTime){
        this.expiresTime = expiresTime;
    }
}
